//引入vuex
import Vuex from 'vuex'
//引入vue
import Vue from 'vue'
//使用Vuex
Vue.use(Vuex)

//准备actions对象——响应组件中用户的动作
//其中都是key:value形式 key为调用的函数名字，value为函数可以简写为functionName(){}

const actions = {
    incrementOdd(context,value){
        if(context.state.sum % 2){
            context.commit('INCREMENT',value)
        }
    },
    incrementWait(context,value){
        setTimeout(() => {
            context.commit('INCREMENT',value)
        }, 500);
    }
}
//准备mutations对象——修改state中的数据
const mutations = {
    INCREMENT(state,value){
        console.log('INCREMENT被调用的',state,value)
        state.sum += value
    },
    DECREMENT(state,value){
        state.sum -= value
    },
}
//准备state对象——保存具体的数据
const state = {
    sum:0
}

export default new Vuex.Store({
    actions,
    mutations,
    state
})






